package com.css.dzj.zfjg.modules.feedback.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.hibernate.annotations.GenericGenerator;

import javax.persistence.*;
import java.util.Date;
import java.util.Objects;
//联合监管答复表
@Entity
@Table(name = "JG_LHJG_DFFK", schema = "DZJZFJG", catalog = "")
public class JgLhjgDffkEntity {
    private String uuid;
    private String taskNo;
    private String unionDeptname;
    private String unionDeptno;
    private String fkIdea;
    private String fkInfo;
    private String createUser;
    private Date createTime;
    private Date updateTime;
    private String updateUser;
    private String fkType;
    private Date fkTime;
    private String fkUnionType;
    private String superviseItemCode;
    private String fileUrl;

    // 拒绝标识 0：未拒绝 1：拒绝
    private String refuseFlag;
    // 拒绝时间
    private Date refuseTime;
    // 拒绝原因
    private String refuseReason;


    @Id
    @Column(name = "Uuid")
    /*@GeneratedValue(generator = "idGenerator")
    @GenericGenerator(name = "idGenerator", strategy = "com.css.dzj.zfjg.common.util.SnowflakeId")*/
    public String getUuid() {
        return uuid;
    }

    public void setUuid(String uuid) {
        this.uuid = uuid;
    }

    @Basic
    @Column(name = "Task_No")
    public String getTaskNo() {
        return taskNo;
    }

    public void setTaskNo(String taskNo) {
        this.taskNo = taskNo;
    }

    @Basic
    @Column(name = "Union_Deptname")
    public String getUnionDeptname() {
        return unionDeptname;
    }

    public void setUnionDeptname(String unionDeptname) {
        this.unionDeptname = unionDeptname;
    }

    @Basic
    @Column(name = "Union_Deptno")
    public String getUnionDeptno() {
        return unionDeptno;
    }

    public void setUnionDeptno(String unionDeptno) {
        this.unionDeptno = unionDeptno;
    }

    @Basic
    @Column(name = "Fk_Idea")
    public String getFkIdea() {
        return fkIdea;
    }

    public void setFkIdea(String fkIdea) {
        this.fkIdea = fkIdea;
    }

    @Basic
    @Column(name = "Fk_Info")
    public String getFkInfo() {
        return fkInfo;
    }

    public void setFkInfo(String fkInfo) {
        this.fkInfo = fkInfo;
    }

    @Basic
    @Column(name = "Create_User")
    public String getCreateUser() {
        return createUser;
    }

    public void setCreateUser(String createUser) {
        this.createUser = createUser;
    }

    @Basic
    @Column(name = "Create_Time")
    @JsonFormat(shape= JsonFormat.Shape.STRING,pattern="yyyy-MM-dd HH:mm",timezone="GMT+8")
    public Date getCreateTime() {
        return createTime;
    }

    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    @Basic
    @Column(name = "Update_Time")
    @JsonFormat(shape= JsonFormat.Shape.STRING,pattern="yyyy-MM-dd HH:mm",timezone="GMT+8")
    public Date getUpdateTime() {
        return updateTime;
    }

    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    @Basic
    @Column(name = "Update_User")
    public String getUpdateUser() {
        return updateUser;
    }

    public void setUpdateUser(String updateUser) {
        this.updateUser = updateUser;
    }

    @Basic
    @Column(name = "Fk_Type")
    public String getFkType() {
        return fkType;
    }

    public void setFkType(String fkType) {
        this.fkType = fkType;
    }

    @Basic
    @Column(name = "Fk_Time")
    @JsonFormat(shape= JsonFormat.Shape.STRING,pattern="yyyy-MM-dd HH:mm",timezone="GMT+8")
    public Date getFkTime() {
        return fkTime;
    }

    public void setFkTime(Date fkTime) {
        this.fkTime = fkTime;
    }

    @Basic
    @Column(name = "Fk_Union_Type")
    public String getFkUnionType() {
        return fkUnionType;
    }

    public void setFkUnionType(String fkUnionType) {
        this.fkUnionType = fkUnionType;
    }

    @Basic
    @Column(name = "Supervise_Item_Code")
    public String getSuperviseItemCode() {
        return superviseItemCode;
    }

    public void setSuperviseItemCode(String superviseItemCode) {
        this.superviseItemCode = superviseItemCode;
    }

    @Basic
    @Column(name = "File_Url")
    public String getFileUrl() {
        return fileUrl;
    }

    public void setFileUrl(String fileUrl) {
        this.fileUrl = fileUrl;
    }

    @Basic
    @Column(name="Refuse_Flag")
    public String getRefuseFlag() {
        return refuseFlag;
    }

    public void setRefuseFlag(String refuseFlag) {
        this.refuseFlag = refuseFlag;
    }

    @Basic
    @Column(name="Refuse_Time")
    @JsonFormat(shape= JsonFormat.Shape.STRING,pattern="yyyy-MM-dd HH:mm",timezone="GMT+8")
    public Date getRefuseTime() {
        return refuseTime;
    }

    public void setRefuseTime(Date refuseTime) {
        this.refuseTime = refuseTime;
    }

    @Basic
    @Column(name = "Refuse_Reason")
    public String getRefuseReason() {
        return refuseReason;
    }

    public void setRefuseReason(String refuseReason) {
        this.refuseReason = refuseReason;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;
        JgLhjgDffkEntity that = (JgLhjgDffkEntity) o;
        return Objects.equals(uuid, that.uuid) &&
                Objects.equals(taskNo, that.taskNo) &&
                Objects.equals(unionDeptname, that.unionDeptname) &&
                Objects.equals(unionDeptno, that.unionDeptno) &&
                Objects.equals(fkIdea, that.fkIdea) &&
                Objects.equals(fkInfo, that.fkInfo) &&
                Objects.equals(createUser, that.createUser) &&
                Objects.equals(createTime, that.createTime) &&
                Objects.equals(updateTime, that.updateTime) &&
                Objects.equals(updateUser, that.updateUser) &&
                Objects.equals(fkType, that.fkType) &&
                Objects.equals(fkTime, that.fkTime) &&
                Objects.equals(fkUnionType, that.fkUnionType) &&
                Objects.equals(superviseItemCode, that.superviseItemCode) &&
                Objects.equals(fileUrl, that.fileUrl) &&
                Objects.equals(refuseFlag, that.refuseFlag) &&
                Objects.equals(refuseTime, that.refuseTime) &&
                Objects.equals(refuseReason, that.refuseReason);
    }

    @Override
    public int hashCode() {
        return Objects.hash(uuid, taskNo, unionDeptname, unionDeptno, fkIdea, fkInfo, createUser, createTime, updateTime, updateUser, fkType, fkTime, fkUnionType, superviseItemCode, fileUrl, refuseFlag, refuseTime, refuseReason);
    }
}
